{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Studying Hohmann transfers"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "%matplotlib inline\n",
    "import numpy as np\n",
    "\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "from astropy import units as u\n",
    "\n",
    "from poliastro.util import norm\n",
    "\n",
    "from poliastro.bodies import Earth\n",
    "from poliastro.twobody import Orbit\n",
    "from poliastro.maneuver import Maneuver"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/latex": [
       "$398600 \\; \\mathrm{\\frac{km^{3}}{s^{2}}}$"
      ],
      "text/plain": [
       "<Quantity 398600.0 km3 / s2>"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "Earth.k"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<poliastro.twobody.orbit.Orbit at 0x7f457d39c710>"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ss_i = Orbit.circular(Earth, alt=800 * u.km)\n",
    "ss_i"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/latex": [
       "$7178.136 \\; \\mathrm{km}$"
      ],
      "text/plain": [
       "<Quantity 7178.136 km>"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "r_i = ss_i.a.to(u.km)\n",
    "r_i"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/latex": [
       "$7.4518277 \\; \\mathrm{\\frac{km}{s}}$"
      ],
      "text/plain": [
       "<Quantity 7.451827722826005 km / s>"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "v_i_vec = ss_i.v.to(u.km / u.s)\n",
    "v_i = norm(v_i_vec)\n",
    "v_i"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "N = 1000\n",
    "dv_a_vector = np.zeros(N) * u.km / u.s\n",
    "dv_b_vector = dv_a_vector.copy()\n",
    "r_f_vector = r_i * np.linspace(1, 100, num=N)\n",
    "for ii, r_f in enumerate(r_f_vector):\n",
    "    man = Maneuver.hohmann(ss_i, r_f)\n",
    "    (_, dv_a), (_, dv_b) = man.impulses\n",
    "    dv_a_vector[ii] = norm(dv_a)\n",
    "    dv_b_vector[ii] = norm(dv_b)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAccAAAG5CAYAAAD71P8DAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xd8V+X9///HFZIwQ4CQQRI2YRZQAWUTRFpEEEFxI624\nioKriutX+LR+qWgdrVCrFQcuBCeKIC6kKBvBCoQlZEIIhBUgZF2/Pw6EEJKQ8U5O8n4/77fbub3X\neZ/rldTmyXXOda7LWGsRERGRM/zcLkBERKS6UTiKiIgUonAUEREpROEoIiJSiMJRRESkEIWjiIhI\nIa6FozFmmDEmzhizzRgzpYjP/2SM+ckYs94Y8z9jTI4xppEbtYqIiG8xbtznaIzxA7YBQ4AUYA1w\nvbU2rpj9RwD3WWsvq7oqRUTEV7nVc7wY2G6tjbfWZgNzgVEl7H8D8F6VVCYiIj7PrXCMAhILvE46\n9d45jDF1gWHAh1VQl4iISI0YkDMSWG6tPeR2ISIi4hv8XWo3GWhR4HX0qfeKcj0lnFI1xmhyWBER\nOYe11pT3u271HNcA7YwxLY0xgTgBuKDwTsaYYGAQ8GlJB7PWFrl99913DBo0qNjPfXmbOnWq6zXU\nxE2/N/3u9HurGVtFudJztNbmGmPuAZbgBPRsa+0WY8ydzsf2lVO7XgV8aa09UZ526tWrx7FjxzxT\ntIiI+Ay3TqtirV0MdCj03suFXr8JvFneNurXr8/x48fL+3UREfFRNWFATrnVq1ePkydPul1GtRQb\nG+t2CTWSfm/lp99d+ej35g5XJgHwJGOMLe5nsNZiTLmvx4qISA1ljMFWYECOa6dVq4KCUaRmatWq\nFfHx8W6XITVAy5Yt2b17t8eP69U9RxGpmYwxZGVluV2G1ACBgYFFjk6taM/Rq685ioiIlIfCUURE\npBCvD8ecnBzy8vLcLkNERGoQrw/Hrl27snXrVrfLEBEfkJiYSEhIiEdmaCnKlVdeydtvv10pxy7J\nnDlzGDx4cJW36yavHq0KmiVHRDwvJiaGffv24e/vn3/L2KZNm2jevDkHDhwo1zHnzJnD66+/znff\nfVfsPgsWnDPLZpXxtdH/CkcRkTIyxvDpp5+W+Qb989177WsBVJ15/WnVoKAgMjIy3C5DRLxMUadO\n4+PjqV27dv44h6FDh/LnP/+Z2NhYGjVqxK5du5gzZw4dO3YkJCSEjh07MnfuXOLi4rjnnntYuXIl\nTZo0ITw8vMg2hw4dyhtvvAE4Pc3Y2FgeeughwsLC6NSpEytXrmTOnDm0bduW5s2b89Zbb+V/97bb\nbuOee+5h+PDhhISEMHToUBISEoqsu3Bbhf3pT38iOjqapk2b0qNHDzZv3gxAVlYWU6ZMoV27drRo\n0YJJkybV2FnKFI4iIh5UuPf33nvv8e9//5v09HSaNm3KAw88wOeff86BAwf4/vvv6d69Ox07dmTm\nzJn07t2b9PR0UlNTS9XWmjVr6NatG6mpqVx77bXcfPPNrF+/nri4OF5//XXuu+++s+aXnjt3Lk88\n8QR79+6lW7dujB8/vti6i/PVV1/xww8/sGXLFvbv38+7775LSEgIAI899hg7duxg3bp1bNmyheTk\nZJ588slSHbe68fpwDA4O5sSJci3qISJSrGuuuYbw8HDCw8MZO3ZssfuNGzeOjh074ufnh7+/P7Vq\n1eKXX34hMzOT8PBwOnXqVO4aWrVqxbhx4zDGMHbsWJKSknjiiScICAjgsssuIzAwkB07duTvf/nl\nl9O3b18CAgL4y1/+wsqVK0lOLm4p3aIFBARw9OhRtmzZgrWWDh065Pd0Z8+ezd///neCg4OpX78+\nDz/8MPPmzSv3z+cmr7/m+Morr5x/JxGpcQIDAzxynKys7HJ978MPPyzVNcfmzZvnP69Xrx7vvPMO\nzz33HHfccQd9+/ZlxowZdOjQoYQjFK/g6de6desC0LRp07PeKzjmIjo6Ov95/fr1adKkCXv27CE0\nNLTUbcbGxjJx4kQmT55MYmIiV111FTNmzODEiRMcP36c3r175++bl5dXaSN3K5vX9xxFxDtlZWV7\nZCuv0v7RL3y68rLLLuOLL74gMTGRDh06MHHixCL3qwxJSUn5zzMyMkhPTycyMpL69esDnHUKdu/e\nvcUeZ+LEiaxcuZKNGzeybds2nn32WZo2bUq9evXYsGEDqamppKamkpaWxv79+yvvB6pECkcREQ8q\nKTT37dvHZ599xvHjxwkICKB+/fr4+Tl/hsPDw0lOTiY7u/ICe/HixaxYsYKsrCymTZtG7969iYyM\npGnTpkRFRfHuu++Sl5fHG2+8wa+//lrkMdatW8eaNWvIycmhbt261KlTBz8/P4wxTJgwgQcffJC0\ntDQAkpOT+eqrr8r987hJ4SgiUkalvR2j8H55eXn84x//oFWrVjRr1ozly5fz4osvAjB48GA6depE\n8+bNiYqKKnO7RX1e+PX111/PX//6VyIiItiwYcNZo1Ffeuklnn32WZo1a0ZcXBx9+/Ytso0jR45w\n1113ER4eTvv27QkJCeHBBx8EYPr06bRt25YBAwYQGhrK8OHD2b59e4k1V1dalUNEqh2tyuF5t912\nG9HR0UybNs3tUjxKq3KUU15eHpmZmW6XISIiNYjXh+N3333H8OHD3S5DRMRVmn2nbLz+Vo4GDRpw\n9OhRt8sQEXHVf/7zH7dLqFG8vueoGXJERKSsfCIc1XMUEZGyUDiKiIgU4vXh2KBBA6y1NXYKIxER\nqXpePyDH39+fI0eOuF2GiIjUIF7fcxQR8TVz5sxh8ODBRX6WmJhISEiIK2fTSlojsrpROIqIlNEP\nP/zAoEGDCA0NpVmzZgwePJj169e7XdZZiruvsXnz5hw4cED3PZ6H159WFRHxpKNHjzJ69GhmzZrF\nNddcQ1ZWFsuXLycwMNDt0sSD1HMUESmD7du35y8ubIyhdu3aDBkyhN/85jf5+7zxxht069aNiIgI\nRo4cSUJCQv5nmzZtYvjw4URERNCiRQuefvppALKysnjwwQdp1aoVrVu35k9/+lP+Ch3Lli2jTZs2\nvPDCC0RHR9OqVSvmzJmTf8z09HRGjx5N06ZN6d+/f7EragDEx8dTu3Zt8vLyAOdU59SpUxk0aBBN\nmjRhzJgxpKenM378eJo2bUq/fv3Oqr927drMmjWLjh07EhUVxSOPPJL/2V//+ld+//vfF9tWQTt3\n7uSyyy4jNDSUqKgobr755vzP4uLi8n9HXbt25YMPPjjv/y6e5hPhmJmZqUmMRcQjYmJiqFWrFhMm\nTODLL7/k0KFDZ32+YMECnn76aT744ANSUlLo168f48aNA5w1FIcPH86wYcNISEhgy5YtXHrppYCz\nosWaNWtYt24da9euZc2aNUyfPj3/uHv37uXo0aPEx8fz73//m8mTJ3P48GEAJk2aRL169UhKSuLl\nl1/mzTffLPFnKHxKdf78+bz55pvEx8ezc+dOBg4cyB/+8Af27dtHhw4dePLJJ8/5GVetWsWqVav4\n7LPPzrqOeL6VQU6bNm0aQ4cOJS0tjV27dnH33XcDzpqSV1xxBTfccAN79uzh7bff5t577yUuLq7E\nn8nTfCIcb7nlFj7++GO3yxARLxAUFMR3332Hn58fEydOJCoqijFjxuSvYfjqq68yZcoU2rdvj5+f\nHw8//DAbN24kMTGRhQsXEhERweTJkwkMDKR+/fr07NkTgPfff58nnniCkJAQQkJCeOKJJ3j33Xfz\n2w0MDOTxxx+nVq1aDBs2jAYNGrBt2zby8vL45JNPmDZtGnXq1KFLly5n9cJKY/z48bRq1YqgoCCG\nDRtG27ZtiY2Nxc/Pj6uvvpoNGzactf9DDz1EcHAw0dHRTJ48mffff7/Mv8eAgAASEhJITk4mMDCQ\nPn36ALBw4UJatWrFuHHjMMbQvXt3rrrqKj788MMyt1ERPnHNURMBiHifwOmeucaX9VjZzyp16NAh\nf67Sbdu2MX78eB588EHmzJlDfHw8DzzwAA8//DDgLEBsjCElJYWkpCTatGlT5DFTUlJo3rx5/usW\nLVqQkpKS/zokJCR/YWSAevXqkZGRQVpaGrm5uURHR+d/1rJlS3744YdS/zzh4eH5z+vUqUNYWFj+\n67p1654zBWfB9SYL11laTz31FFOnTqVfv340btyY++67j/Hjx5OQkMCqVavya7LWkpuby0033VTm\nNirCJ8KxYcOGutdRxMuUJ9QqQ/v27bnlllt49dVXAWc06KOPPsr1119/zr67d+9m3rx5RR4nKiqK\nhIQEOnXqBEBCQgKRkZHnbT80NJRatWqRmJhI+/bt879bmZKSkvLrTExMzK+zfv36HD9+PH+/vXv3\nFnuMsLAwXnrpJQB+/PFHhg0bxoABA4iOjmbQoEEsXLiwEn+C8/OJ06qNGjXKPzcvIlIRW7du5YUX\nXiA5ORlwwuH999+nd+/eANx+++3MmDGDzZs3A3D48OH8U4JXXHEFqampzJw5k6ysLDIyMlizZg0A\nY8eO5W9/+xv79+9n//79TJ8+nRtvvPG89fj5+TF69Gj++te/cuLECTZv3szbb79d4ncqeo/jc889\nx6FDh0hMTOTFF1/k2muvBaB79+4sX76cxMREDh8+nD/YqCgffvhh/u8wODgYPz8//Pz8uOKKK9i+\nfTvvvPMOOTk5ZGdns27dOl1zrAzBwcHnXDQXESmPoKAgVq9eTf/+/WnSpAmDBg2ia9euzJgxA4BR\no0bx0EMPcfPNNxMaGkqPHj1YsmQJ4Exn+cUXX/D555/TvHlzunTpwvfffw/AY489Ro8ePejRowc9\ne/akR48ePProo8XWUXCgywsvvMDRo0dp0aIFd9xxB+PHjy/xZyj43fLc7zhy5Eh69+7NJZdcwhVX\nXJE/QnXIkCGMHTuWHj160KdPH0aMGFFsu2vXrqV///6EhIQwduxYnn/+eVq1akWDBg1YuHAh8+fP\np2XLlrRs2ZLHH3+8ygdVmpo+56gxxp7vZ3jrrbdYuXIls2bNqqKqRKQijDEaYV5N1a5dmy1bthR7\n7bSqBQYGFtkTNsZgrS33TAc+EY4iUrMoHKsvXwlHnzitKiIinuEr0875xGhVERHxjMzMTLdLqBLq\nOYqIiBSicBQRESnEZ8IxPT3dlfXLRESk5vGZcIyOjj5r5gYREZHi+Ew4BgcHa5YcEREpFZ8Jx0aN\nGmmWHBGpUU6ePEnt2rXLNbG3VIzPhKN6jiLiCU2aNMlfVqpOnToEBwfnvzd37twSv7tkyRI6d+5c\npvaq8r7Cm2++maeeeqrK2qvOXLvP0RgzDHgBJ6BnW2tnFLFPLPA8EACkWWsHl7c9haOIeEJ6enr+\n8w4dOvDyyy8TGxtbqu+WZ1CgBhK6w5WeozHGD5gJ/A7oAtxgjOlYaJ9gYBYwwlr7G2BsRdqMiori\n5MmTFTmEiMhZrLXnhFdmZiaTJ0+mZcuWtG3blkceeYTc3FzS09O59tpr2bVrV35P8+DBg6xYsYL+\n/fsTFhZG69ateeihh8jLyytV+wcOHODWW2+lRYsWREREnLXI8UsvvUSnTp2IjIzkuuuuY9++fQDk\n5eUxefJkoqKiCA0NpVevXmzfvp1Zs2bx8ccfM336dEJCQkq1Iog3c+u06sXAdmttvLU2G5gLjCq0\nz43Ah9baZABr7f6KNPjaa68xalThJkREPGvatGls2rSJDRs2sHLlSpYtW8bf//53mjRpwvz582nd\nujXp6ekcOHCAxo0bExgYyD//+U/27dvHt99+y8KFC3nttddK1dbpANu0aRNJSUn88Y9/BGDRokU8\n9dRTfPDBB+zevZuQkBD+8Ic/ALBw4UI2btzItm3bSEtLY86cOTRu3Ji7776b0aNH89hjj3HgwAHe\nfffdyvkF1RBuhWMUkFjgddKp9wpqDzQxxnxnjFljjBlXZdWJiJTT+++/z9SpU2ncuDGhoaE8+uij\nvPPOO8Xu36NHDy666CIAWrduzR/+8AeWLVt23nZ2797Njz/+yMyZMwkKCsLf359+/foBMHfuXCZM\nmECXLl0IDAzkb3/7G99++y379u0jICCAI0eOsGXLFqy1dOrUiaZNm3rmh/ci1XluVX/gIuBSoD6w\nwhizwlq7w92yRKQ6CAgM9Mhxsj28+sfevXtp3rx5/usWLVqUONp0y5YtTJkyhZ9++okTJ06Qm5tL\n3759z9tOUlISYWFh1KtX75zP9uzZw6WXXpr/Ojg4mKCgIJKTkxk2bBjbtm1j4sSJ7NmzhzFjxvC3\nv/2tyOP4MrfCMRloUeB19Kn3CkoC9ltrM4FMY8wyoDtwTjhOmzYt/3lsbGypL46LSM3l6VDzlGbN\nmpGQkEDr1q0BSEhIIDIyEih65Okf//hHBg0axPvvv0/dunV55pln+O67787bTnR0NPv27eP48ePn\nBFuzZs2Ij4/Pf33o0CGOHj1KVJRzgm7y5MlMnjyZffv2ce211/Liiy8yZcqUGr3ixtKlS1m6dKnH\njudWOK4B2hljWgJ7gOuBGwrt8ynwojGmFlAbuAR4rqiDFQxHERE3XXvttTz55JN07dqVnJwcZsyY\nwU033QRAWFgYaWlpHDt2jPr16wOQkZFBcHAwdevWZdOmTbz22mv5wVqSVq1aMWDAAO69916effZZ\n6taty6pVq+jfvz/XXXcdEydO5JprrqFNmzY8/vjjXHrppYSFhbF69Wr8/f3p3r07devWJTAwED8/\n5wpbeHg4u3btqrxfTiUq3DH6v//7vwodz5VrjtbaXOAeYAmwCZhrrd1ijLnTGHPHqX3igC+Bn4GV\nwCvW2s3lbTMnJ4f9+ys0pkdE5CxF9bSmTp1Kp06duOCCC7jkkkvo378/Dz74IADdu3dnxIgRtGvX\njvDwcA4dOsQzzzzD7NmzCQkJ4f7772fs2LHnbeO0t956i6ysLDp37kyLFi145ZVXABg+fDgPP/ww\nY8aMoXXr1uzbty9/kM+hQ4eYMGECYWFhdOrUiVatWjFp0iQAJkyYwJo1awgPD2fcON8e5mFq+j00\nxhhbmp9h7dq13HXXXaxdu7YKqhKRijDGkFVNT5tK9RIYGFjkvaDGGKy15T5P7DMz5DRp0oQDBw64\nXYaIiNQAPhWOBWe2EBERKY7PhGNwcDDHjx8nOzvb7VJERKSa85lwNMbQqFEjDh486HYpIiJSzflM\nOIIzSXBGRobbZYiISDXnM6NVRaTm0GhVKS2NVhUREaki1XluVRHxUS1btiTQQ3Onindr2bJlpRxX\np1VFRMTr6LSqiIiIh/lUOB4/fpzU1FS3yxARkWrOp8JxwYIF+RPsioiIFMenwlFTyImISGn4VDiG\nhIRo8nERETkvnwpH9RxFRKQ0fCocQ0JCFI4iInJePhWOQUFBREZGkpOT43YpIiJSjWkSABER8Tqa\nBEBERMTDFI4iIiKFKBxFREQKUTiKiIgU4nPheOjQIVJSUtwuQ0REqjGfC8d58+YxdepUt8sQEZFq\nzOfCMSwsTCtziIhIiXwuHMPDw9m3b5/bZYiISDXmc+EYFhamcBQRkRIpHEVERArxuXBs0KABHTt2\n5OTJk26XIiIi1ZTmVhUREa+juVVFREQ8zN/tAnxeZiZs3w5bt0JCAuzdC6mpzuORI3D8+JktO9v5\njjFnNn9/qF8f6tU7+7FBA2jSBBo3dh4Lb02bQqNGzjFEROQsOq1alfLy4H//gx9+cLZVqyApCVq3\nhg4doGVLaNYMwsOdrVEjJ+xOB15AAFh7ZgPIyoITJ+DYsTMheuwYHD0KBw9Cevq524EDsH8/nDzp\ntBMRceax8POICIiMhLp13f3diYiUQUVPqyocK1teHixdCh9+CJ9+6gTdgAHQrx/07g0xMU7oueHE\niTO91MKPp5/v2QMpKU44R0VBdLTzWPD56cfGjdUTFZFqQeFYjnA8cOAAhw4dom3btpVUFXDoELzy\nCrz8MgQFwQ03wKhR0LFj5bVZWax1eptJSZCcfO7j6edZWWeCs6jwjI52eqK1arn9E4mIl1M4liMc\n33nnHT7//HPee+89zxd09Cj84x/OdvnlcM890KuXb/SoMjLODsvTjwVD9MABCAtzgrJgaBZ8HhkJ\ndeq4/dOISA1W0XD0yQE5zZo1Y8+ePZ49qLXw0Udw770QGws//uicMvUlDRo41047dCh+n6ws51Rt\n4eBcu/bMeykpEBxcfHieft6wYdX9bCLiU3wyHCMjIz27bNWRI3DHHfDzz/Dee841RSlaYKAz8Khl\ny+L3ycuDtLSzwzMpCb777uxQrVXr/AHatKlv9NpFxKN88rTqkSNHiIyM5OjRo5iK/uHctAmuugqG\nDIEXXtDpwKpiLRw+fG6AFn5+/PjZ10CLCtCICOeWGBHxGrrmWM7RqkFBQSQlJREcHFz+xpcvh6uv\nhmeegVtuKf9xpPIcP372ddCignT/fggNdW6jKWmLiHBvZLGIlImuOZbT5ZdfztGjR8sfjt9844xA\nfftt+O1vPVuceE69es6135Ku/2ZnO9dBC2/r1p39Oi3Nuff0fCHarJnTrojUWD7bc6yQdeuckagf\nfAADB1Zt2+Ke3FwnIPfsce4DLSpQT2+1a58bmOHhzkjdwo+BgW7/ZCJeR6dVqzocd+1ybuD/17+c\na40ihVnr3OdaODD37XMmVjj9mJrqhG2DBmcHZlEhevp5gwYaYCRSCgrHqgzHzEzo3x9uugnuv79q\n2hTvlpfnTPNXMDCLCtHTz60tPkTDwpzRuaGhzmPTphogJj5L4ViV4XjPPc7ptPnz9a93ccexY8WH\naFqaM7jo9OP+/c4p29NBWTg4i3reuLFmMBKvoHCsqnD89lsYP96ZOLxRo8pvT6SirHVmbCocmCU9\nP3LECciSAvT0yi4hIc5jo0a6FUaqHYVjOcMxIyODn3/+mb59+55/5+PHoWtX+Oc/4YorylGlSA2R\nk+Os3FJSgBZe4eXwYWe2ooJLop0OzqJeK1SlCtTYcDTGDANewFlweba1dkahzwcBnwK/nnrrI2vt\nk0Ucp1zhuGvXLgYPHszu3bvPv/PUqc56i3PnlrkdEa+Xm+sEZMHALBygRb0+fNgZYFRSkJ4O0dNb\n48bOowYmyXnUyHA0xvgB24AhQAqwBrjeWhtXYJ9BwIPW2ivPc6xyhWNmZibBwcFkZmaWPEtOSorT\na1y/vuQpz0SkbPLyzoRq4QA9/d7Bg87I39OPp7fMTGf+3cKhWfh5cZ9poJLXq6mTAFwMbLfWxgMY\nY+YCo4C4QvtV2j8N69SpQ1BQEPv37yc0NLT4Hf/8Z7jtNgWjiKf5+Tlh1bgxlHX5uOxsJ1gLB2fB\n50lJRX928KDT6ywpUIODna1hw7MfTz9v2FADl7ycW+EYBSQWeJ2EE5iF9THGbACSgYestZs9WURk\nZCTJycnFh+Pu3fDxx7BzpyebFZGKCgg4M1CoPE6cKDpQT78+cMC5p/nwYWeQ0uHDZz8/ehTq1i06\nQMvyWL++Tg9XU9X5avg6oIW19rgx5nLgE6C9JxuIjo4mKSmJCy64oOgdnn0Wbr9do1NFvE3dus7W\nrFn5vm+ts37p6bAs/Hj6eXx88fscOQInTzqLoRcOzYYNnfdLuzVooKD1MLfCMRloUeB19Kn38llr\nMwo8X2SM+Zcxpom1Nr3wwaZNm5b/PDY2ltjY2FIVMXToUOoUd+0hLQ3eecdZdUNEpCBjzgRTVFT5\nj5Od7YRkUcF59OiZLSnpzPOMjLM/O72dPOkEZFkCtaTP69SpUWG7dOlSli5d6rHjuTUgpxawFWdA\nzh5gNXCDtXZLgX3CrbWpp55fDMyz1rYq4liVc5/jX/8KiYnwyiueP7aIiKfl5BQdnMWFaXHb6f1z\ncs4O0tO90+IeS/qs4GNgYJWEbo0ckGOtzTXG3AMs4cytHFuMMXc6H9tXgGuMMX8EsoETwHVVVmBe\nHsye7VxvFBGpCfz9zwwo8oSsrLOD9dgxZ8vIOPfx6FFn/uCS9jn9mJdXuiAt6z716jmDvDzEZycB\nKNGSJfDoo87qGyIi4jnZ2ecP0NKEbOF9T5xwVsM5FZomIaHm9RyrvVdfdW7fEBERzwoI8GwP97S8\nPOf+19Nh2bp1hQ6nnmNhhw459zTGx2uUqohIDVXRa46eO0FbQy1evJj09AIDYBcsgMGDFYwiIj7M\n58Nx+vTp/Pzzz2fe+OADuOYa9woSERHX+Xw4tmzZkvj4eOfFkSOwdCmMHOlqTSIi4i6fD8cWLVqQ\nkJDgvPj8cxg40JmlQkREfJbCsXA4jhrlbkEiIuI6nw/H/NOqeXnw9dfw29+6XZKIiLjM58Oxc+fO\n9OnTBzZudJat0dJUIiI+T/c5nvb005CQADNnVvxYIiLiKt3n6ClLluiUqoiIAOo5Ok6cgLAwSE52\n1lETEZEaTT1HT1i7Fjp1UjCKiAigcHSsWAF9+rhdhYiIVBMKRyDhm2+Y73YRIiJSbeiao7Wsb9qU\nW8PD2bB5s+cKExER1+iaY0Xt3k0bf392JiZS0/+hICIinqFwXLmSRv36ERgYSFpamtvViIhINaBw\nXLkS+vShbdu27Ny50+1qRESkGlA4rl8PPXoQExPD9u3b3a5GRESqAX+3C3BVXp4zp2r37tx88800\natTI7YpERKQa8O3Rqr/+CrGxzpyqIiLiNTRatSI2bIDu3d2uQkREqhnfDseNG+GCC9yuQkREqhnf\nDkf1HEVEpAi+HY6bNsFvfuN2FSIiUs347oCczExo3BiOHIGAAAC+/PJLMjMzGTVqlIerFBGRqqQB\nOeW1fTu0bp0fjACJiYl8/PHHLhYlIiLVge+GY1wcdOx41ludOnUiLi7OpYJERKS6UDgW0LFjR+Li\n4jQBuYiIj/PdcNyyBTp1OuutkJAQAgICSE1NdakoERGpDnw3HIvoOYLTe9yyZYsLBYmISHXhm6NV\nrYWgIEhJgYYNz/po6dKltGvXjujoaA9WKSIiVamio1V9MxxTU537G7V+o4iIV9KtHOXx66/Qpo3b\nVYiISDWlcBQRESlE4SgiIlKIwlFERKQQ3w3H1q2L/XjevHm8+OKLVViQiIhUJ74Zjrt2ldhz9Pf3\n56uvvqrQfZO0AAAgAElEQVTCgkREpDrxvXA8edK5laOE+xi7devGxo0bq7AoERGpTnwvHBMTISoK\n/P2L3aVNmzakp6dz6NChKixMRESqC98Lx6QkaN68xF38/Pzo1q0bGzZsqKKiRESkOvHNcCzF1HA9\ne/ZkzZo1VVCQiIhUN14XjtOmTcMYc842bdo0Z4dC4Vjc/gEBAdx+++1lP7721/7aX/trf9f3ryjf\nm1v17rud1TgmTaq8okRExFXGaG7VsinlaVUREfFdxQ/ZrGTGmGHACzgBPdtaO6OY/XoBPwLXWWs/\nqnDDpRiQIyJSXVkLOTnFb9nZ576Xm1v8dr7PK+O7nvxeXt65z/PyKv57diUcjTF+wExgCJACrDHG\nfGqtjStiv6eALz3WuHqOIl7vdIBkZ0NWVtGPJX1W0neKC6CSwqk875cUdLVqOXejBQQ4j4W30++f\n3q9WreK3831elu8FBpbve+Vt7/Tm53fu8/Dwiv035FbP8WJgu7U2HsAYMxcYBcQV2m8S8AHQyyOt\nnjwJhw5BWFipv5KTk4O/v2sdbJFqKy/P+b9UwS0z89z3zreV9J2srDNbWYPt9B/rgABnO/28Io8F\ng6d2bWjQoORwKstnpX2/Vi3wwHgTOQ+3/upHAYkFXifhBGY+Y0wkcJW1drAx5qzPyi0lBZo1c/5p\nUardU+jbty+7d+/2SPMilSU7G06cOP92/Hjp9iu8f2bmuSGWk+MERFFbnTrFf1bU1rhx0e8HBp7Z\nyhJkAQGl/r+5SJGqc5foBWBKgdcV/7dSUpIzO04pNWvWjGPHjpGcnExUGb4nUhRrnaDJyHC2Y8fO\nPBZ8Xp7P8vKgXj2oW7f02+n9GzUq3f6FAy8gQD0Y8V5uhWMy0KLA6+hT7xXUE5hrnBtWmgKXG2Oy\nrbULCh+s4D0vsbGxxMbGFt3qnj0QGVnqIo0x9OnThx9//JGxY8eW+nvifTIz4fBhZzty5MxW1te1\nakFQkHM6rn59Zzv9vPBjo0bO5fGS9jm9BQYqqMS3LV26lKVLl3rseK7c52iMqQVsxRmQswdYDdxg\nrd1SzP6vA58VNVq1TPc5vvgibN0KM2eWutYZM2awZ88eXnjhhVJ/R6qnvDznkvPBg5Cefu5jUe+d\nfszNheDgM1vDhmdvpX0vMNDt34KIb6jofY6u9ByttbnGmHuAJZy5lWOLMeZO52P7SuGveKTh1NQy\nD2Hq168f9913n0eaF8/Ky3OCKy0N9u1zHkt6np7u9LKaNDmzNW585rFZM+jcuejP6tVTz0zEl7h2\nzdFauxjoUOi9l4vZ91aPNJqaCr3KNvC1Z8+eHDp0iOzsbAICAjxShpQsN9cJtZSUs7c9e85+feCA\nc4oyLAxCQ53t9PMOHaB//7PfCwlxrpOJiJxPdR6Q43nl6DnWqVOHHTt2VFJBvsdaJ9Ti48/dEhOd\n0Nu/3+mxRUY6W7NmzmOPHjBypPO6WTMn9BR2IlIZfCsc9+6t+J2hcl4nTsDOnbB9u7P9+uvZIRgY\nCC1bQqtWzmPLljBggDNxUVSUQk9E3Odb4ViOnqMULTcXdu2CzZvPhODpbd8+J/hiYpyta1cYMeJM\nEDZs6Hb1IiIl851VOax1btZKT3dGV0ipWOuc7vzlF9i0yXn85ReIi3Ou43XqBO3bnwnCmBho0cKZ\nyUNExC0VHa3qO+F4+LBz09jRo5VfVA2Vlwc7dsC6dc62di389JMzwrNLF/jNb85snTs7g2FERKqj\nGnkrhytSUyEiotxfT05OZt++fVx44YUeLMpdaWnwww/OdjoIGzVyBr706AGPPQYXXQRNm7pdqYhI\n1fKtcKzA9cY1a9bw0ksv8eWXnlsgpCpZ6wySWb78zLZnD/TtC/36wSOPOIGoIBQRUTiW2qBBgxg3\nbhxZWVkE1pBpTg4cgG++gSVLnC031xkV2r8/TJrknB6tVcvtKkVEqh/fCscyLFVVWOPGjenYsSOr\nVq1iwIABHizMc6x1To1+8gksWuTMlDdwIAwdCg8+CB07apYXEZHS8J1w3L+/wucML730Ur799ttq\nFY45OfDf/zqB+Mknzv2Bo0fDM884p0xrSCdXRKRaKdeKZ8aY3556vM8YM94YM8qzZVWC9HRn/rAK\nGDJkCN9++62HCio/a50BNPfe69w0/6c/ObdVLFzo3Gf4zDMQG6tgFBEpr3L1HK21S049XQ4cBC7y\nWEWV5cAB6NmzQofo168fgwcP9lBBZZecDG+8AW+/7Sxue/PNzsCamBjXShIR8Uplvs/RGPMmsAPY\nBKy01qZURmFlqKd09zlefrkzCmX48MovyoOshaVL4V//cgbXXHcd3HIL9O6t64ciIsVx4z7Hqdba\n3aca72mM6Wyt/bq8BVSZ9HRnNusa4uRJePNN+Mc/nNd33w2zZ2vqNRGRqlCecOxhjOkPLLLWrjXG\nXO3poirFgQMVvuZYFY4dg5dfhmefhe7dnXWZY2PVSxQRqUrlGZDTHMgDXjLGLAW6e7SiylLNwzEz\n0xlI07o1rFgBn30GX3wBgwcrGEVEqlp5eo6fAWHW2ms9XUylyc115lQNDna7knPk5cE778ATTzhT\ntS1d6sxbKiIi7jlvz9EY08EY0+70a2vtTmvtisoty8MOHnSC0UPTwWzfvp3bb7+9wsdZvRp69XIG\n27zzDnz8sYJRRKQ6OO9oVWOMPxALdABygTXW2nWVX1rplGq06tatzhLy27Z5pM0TJ04QFhZGQkIC\njRs3LvP3Dx92JvX+6CP4+9/hxht16lRExJMqOlr1vD1Ha22OtfZra+0sa+2/gVrGmD8aYyYaY4YY\nY6r/7JwHDnh0pGrdunUZNGgQixcvLvN3v/zSWf4pO9tZH/GmmxSMIiLVTZmvOVprVwOrwTnlCtxm\njAkAkoEvrbXHPVuiB3hgdpzCRo8ezUcffcQNN9xQqv0zM2HKFKe3OGcOXHqpR8sREREPKtf0cadZ\na7daa1+21s4EVgIjPFOWh1XCSNVRo0axZMkSjh8//78Ftm1zri2mpMDGjQpGEZHqrkLhaIypbxyd\nrbV7rLXzPFWYR1VCODZt2pRevXrx/fffl7jfF184S0Tdcw/Mm1ej5iEQEfFZFV2VYyqQgROy0ypc\nTWWppNlxPv74Y4KCgor8zFp4+mn45z+d1TL69vV48yIiUkkqGo7rgfeBXh6opfKkpzujYDysuGDM\ny3NWzPjvf53bNaKiPN60iIhUooqG40rgOWA7pwbpVEuHDkGjRlXSVFYW/P73zgoaS5dWWbMiIuJB\nZQ7HIlbluN/jVXna4cNVMjtOdjaMHes8X7wY6tat9CZFRKQS+MaqHFUQjjk5zj2L1sIHH2ihYRGR\nmqw8o1V7GGNuNsaEWGvXAtVvwtLCKjkct2/fwdVXb+TQIWdEqoJRRKRm841VOQ4frtSFEB95ZAXL\nlv1/fPIJ1KlTac2IiEgV8Y1VOY4cqbSe43vvwZo1o8nLm8SxY2nUqxdaKe2IiEjVKXPPseCqHMaY\nAcaYDz1flgfl5TnLVVVCz3HdOueWjYULGzBixBXMm1c950AQEZGyKXM4GmP8jDE3GGNWA88Dl3m+\nLA/KyIB69Ty2XNVphw/DtdfCrFnQtSvcfPPNvPXWWx5tQ0RE3FHqcDTGNDTGPATsBK4BHrTW9gSO\nVFZxHlEJg3GshTvugN/97sytG0OHDiUhIYFNmzZ5tC0REal6pbrmaIx5DrgOmA8Msdb+WuDj8yym\n6LJKCMfZs50lIleuPPOev78/b731FiEensNVRESqXmkH5CwAkoDVhYKx+vNwOCYmwqOPOrPfFB6Z\nOmTIEI+1IyIi7ilVOFprlwJLjTHtjTG3AfuBz6y1uZVZnEd4MBythbvugsmTK2WqVhERqSbKdCuH\ntXYbsM0Y0wS42RhjgdqVUpmnePAex/feg6QkeOQRjxxORESqqXJNPG6tTQfeNMb4AzmeLcnDPNRz\nPHYMpkyB99+HgAAP1CUiItVWhRY7ttbmWGvf9VQxlcJD4ThjBgwcWLp1Ga217Ny5s8JtioiIOyq6\nZFX154FwjI937mfcsKF0++/fv5+ePXuyY8cOjV4VEamBKtRzrBE8MHXcX/4CEydC8+al2z80NJQr\nr7yS//znPxVqV0RE3OH94VjBnuPOnfDpp/DAA2X73v3338/MmTPJzs4ud9siIuIOheN5PPkk3HMP\nNG5ctu9dcMEFxMTEMH/+/HK3LSIi7vD+cDxypNy3cuzcCZ99BvfdV76m77//fp5//nmsrd6TCImI\nyNm8f0BORgY0aFCur77wgjOHaqNG5Wt6xIgRpKamkpeXRy0PT3wuIiKVx7WeozFmmDEmzhizzRgz\npYjPrzTGbDTG/GSMWW2M6VeuhsoZjocOwTvvwN13l6tVAPz8/Lj99tsVjCIiNYwrPUdjjB8wExgC\npABrjDGfWmvjCuz2tbV2wan9uwLzgE5lbiwjA+rXL/PXXnsNhg2DqKgyf1VERGo4t06rXgxst9bG\nAxhj5gKjgPxwtNYeL7B/AyCvXC0dO1bmnmNuLrz4ojMbjoiI+B63TqtGAYkFXiedeu8sxpirjDFb\ngM+AW8vVUjlOqy5aBOHhcPHF5WpRRERquGo9WtVa+4m1thNwFfBkmQ+QleU8BgaW6WuvvQYTJpS5\ntRLl5eXxzTffePagIiJSKdw6rZoMtCjwOvrUe0Wy1i43xrQxxjQ5Nen5WaZNm5b/PDY2ltjYWOdF\nOXqNaWnw7bfwxhtl+tp5ZWdnM2HCBN5++2369+/v2YOLiPi4pUuXsnTpUo8dz7hxD54xphawFWdA\nzh5gNXCDtXZLgX3aWmt3nnp+EfCptfacCdyMMbbYnyExEfr0cdaZKqUXXoB16+Ctt8rwA5XSnDlz\nePnll1m+fDnGGM83ICIiABhjsNaW+w+tK6dVTy2SfA+wBNgEzLXWbjHG3GmMuePUblcbY34xxqwH\nXgSuLXND5eg5zpkDv/99mVsqlZtuuokjR46wYMGCymlAREQ8wpWeoyeV2HNcuxbuvNPpCpbCjh3Q\nrx+kpEBl3Zr4+eefM2XKFH7++Wfd/ygiUklqZM+xypSx5zh/PowZU3nBCHDFFVcQEhLCBx98UHmN\niIhIhXj39HFlvMdx/nz4+98rsR6cf83MmzeP0NDQym1IRETKzbvDsQyz4+zcCcnJMHBgJdcERERE\nVH4jIiJSbjqtesqCBXDlleDv3f9cEBGRUvDucDx2rNQ9xy++gCuuqOR6RESkRvDucCxlzzEjA1au\nhCFDqqCmIuTllW/aWBERqRzeHY6l7Dl++60zj2pQUBXUVMihQ4e48MILOXjwYNU3LiIiRfLucCxl\nz3HRIhg+vArqKUKjRo0YMGAADz30kDsFiIjIObw7HEvZc1y82Fm70S3Tp09nyZIlfPvtt+4VISIi\n+bw7HEvRc4yPh+PHoXPnKqqpCA0bNuRf//oXd9xxB8ePHz//F0REpFJ5dziWYhKA77+HQYPA7XnA\nR4wYwcUXX8wjjzzibiEiIqJJAE6HY3Uwa9Ystm3b5nYZIiI+z7t7jqU4rbp0afUJx8aNG3PJJZe4\nXYaIiM/z7nA8z4CcpCQ4fNjd640iIlL9eHc4nqfnuGyZM5eqn3f/FkREpIy8OxaOH4d69Yr9eOVK\n6Nu3Cusph4yMDLdLEBHxOd4djidOQN26xX68ejX06lWF9ZTRTz/9xIUXXsjhw4fdLkVExKcYa63b\nNVSIMcYW+TNY66xanJ1d5OrFWVnQuDGkppZpyccqN3HiRFJTU/nggw8wbt9vIiJSQxhjsNaW+4+m\n9/Ycs7Kc9aeKCEaA//0P2rSp3sEI8Pzzz5OQkMCzzz7rdikiIj7De+9zzMyEOnWK/XjNmup9SvW0\n2rVr89FHH9G7d286duzIiBEj3C5JRMTreW/PsRTXGy++uArrqYDmzZvz4Ycf8pe//IXc3Fy3yxER\n8Xo+G45r1tSccATo3bs3P/74I7WKOU0sIiKe45PheOIE7NgBv/lNFddUQf7+3nsWXESkOvHecCzh\nmmNcHLRrB4GBVVyTiIjUCN4bjiX0HP/3P+jatYrrqQTWWmr6rTgiItWRwrEGe+GFF3jyySfdLkNE\nxOt4dzgWc1r1l19q3vXGotxwww288cYbzJo1y+1SRES8iveO8MjM9PqeY0REBF9//TWxsbH4+/tz\n5513ul2SiIhX8N5wLOa06sGDcOQItGjhQk2VoHXr1nz77bcMHjwYf39/JkyY4HZJIiI1nnefVi0i\nHH/5Bbp08a5lqtq2bcs333zD3LlzOXnypNvliIjUeN7bcyzmVo7//c87rjcWFhMTw1dffeV2GSIi\nXsGL+k+FFNNz3LIFOnd2oR4REakxfC4ct2+H9u1dqEdERGoMnwvHbdsgJsaFelxgreW9997TZOUi\nImXkveFYxDXHkychJQVat3appiqWmZnJf/7zH66++mqOHTvmdjkiIjWG94ZjET3HX391buEICHCp\npipWt25dFi9eTKNGjRg0aBApKSlulyQiUiP4VDj60inV0wIDA3n99dcZPXo0ffr04eeff3a7JBGR\nas97b+UoIhx9dTCOMYbHH3+ctm3b8tBDD7F48WKMMW6XJSJSbXlvz7GIa46+2HMs6Prrr2fRokUK\nRhGR8/DecCzmmmPbti7VU034edPUQCIilcR7/1IWEY67d0OrVq5UIyIiNYj3hmOh06p5eZCU5D0T\njnvSnXfeyb/+9S8tnCwicor3hmOhnuOePdC4cbGrWPm0Bx98kFdffZUxY8Zw4MABt8sREXGdz4Sj\nTqkWr3379qxYsYI2bdpw4YUX8v3337tdkoiIqxSOAkDt2rV59tlnefnll7n++utZuHCh2yWJiLjG\ne+9zLHTNUeFYOpdffjkbNmygYcOGbpciIuIa9RzlHOHh4dTVxVkR8WGuhaMxZpgxJs4Ys80YM6WI\nz280xmw8tS03xnQt9cFzcpzhqQUmUVU4VlxGRobbJYiIVAlXwtEY4wfMBH4HdAFuMMZ0LLTbr8BA\na2134EngP6Vu4HSvscBMMAkJuo2jooYPH85tt92mEa0i4vXc6jleDGy31sZba7OBucCogjtYa1da\naw+ferkSiCr10Qtdb7QWkpMhqvRHkCJ8/vnn1KtXjy5duvDGG2/ovkgR8VpuhWMUkFjgdRIlh99t\nwKJSH/3kSahdO//lkSNOJ1JjTCqmYcOG/POf/+Tzzz9n5syZxMbGapUPEfFK1X5AjjFmMPAH4Jzr\nksXKyoLAwPyX6jV6Vs+ePVm1ahU33HADycnJbpcjIuJxbt3KkQwUvAIYfeq9sxhjugGvAMOstQeL\nO9i0adPyn8fGxhIbHn5WzzElBSIjK160nFGrVi3uuusut8sQEQFg6dKlLF261GPHM25cNzLG1AK2\nAkOAPcBq4AZr7ZYC+7QAvgHGWWtXlnAse87PsGEDjB8PGzcC8Oab8PXX8NZbnv5JpCgnT54kICBA\nK4CIiGuMMVhry70+nyt/vay1ucA9wBJgEzDXWrvFGHOnMeaOU7v9f0AT4F/GmJ+MMatL3UBW1lk9\nR51WrVpvvvkmF1xwAZ999pkG7YhIjeRKz9GTiuw5/ve/8OijsHw5AHffDR07wqRJLhTog6y1fPbZ\nZzz++OM0aNCA6dOnM3jwYLfLEhEfUiN7jpWu0GhV9RyrljGGK6+8ko0bNzJp0iRuv/12LrvsMk6c\nOOF2aSIipeKdc6sWEY6lGZCTdCSJBVsXsH7PevZk7CE7N5uQeiFENojkgogL6BnZk45NO2JMuf8x\n4lP8/Py48cYbGTt2LIsXL9aUdCJSY3hnOBa65piSUnLPMeVoCg9/9TBfbP+CkR1GcknUJbQIbkGA\nXwDpJ9JJOJzAwu0Lmbp0Kpk5mQxrN4wR7UdwebvLqRugP/jnExAQwMiRI90uQ0Sk1LwzHAv0HHNz\nYd8+iIgoetcfEn5g7Pyx/P6C3xN/XzxBtYNKPPSO9B0s2r6IWWtmMWHBBK7qeBU3db2Jwa0GU8uv\nlqd/Eq/37LPPEhoayvXXX09ggXtTRUTc5L3XHE/9oU1Ph+Dgs+Ygz7c2ZS2j3x/N7CtnM33I9PMG\nI0C7Ju2YdMkkvrnlGzZN3ETXsK48/NXDtPlnG/7fsv/H3oy9nv5pvFq3bt146623aNWqFU8++ST7\n9+93uyQRES8Ox1M9x337ICzs3F3ST6Rz1dyreGXkK1wec3m5mokMiuSBPg+w/s71fHTtR8QfjqfT\nrE6MnT+Wb379hjybV5GfwicMHTqUr776ii+//JJdu3YRExPDxIkTdQuIiLjKO8OxwDXH4sLx3sX3\nMqbTGK7qeJVHmuwR2YNXRr5C/H3xXNrqUu7/8n46zuzI8yue5+CJYif3kVO6du3K7Nmz2bp1K4MH\nD9agJxFxlXeG43l6jquTV7N091L+NuRvHm+6Ye2G/LHXH9l410ZeH/U66/aso80/2zDh0wmsS1nn\n8fa8TVhYGGPHji3ys7w89cRFpGp4bzieuuZYVDhOXTqVx/o/Rv3A+pVWgjGGfi368faYt9l6z1Zi\nQmK4et7VXPLqJczZOIfMnMxKa9tb3XrrrYwZM4YlS5YoKEWkUnlvOBbTc/w59Wf+l/o/br3w1ior\nJ6x+GI/0f4Sdk3fyxIAneO+X92j+fHMe/uphfj34a5XVUdO9+OKLDBs2jEceeYR27drxf//3f+za\ntcvtskTEC3lnOJZwzfG1n17jDxf8gdr+tYv5cuWp5VeLkR1GsuimRayYsAJrLZe8egnD3xnO59s+\nJzcvt8prqkmCgoK44447WLduHfPmzWP//v0MGTKEzEz1wkXEs7xzbtUHHoDoaHjgAUaPhnHjYMwY\nyMrNIvq5aFZMWEHbJm3dKbiQE9knmLdpHrPWzCLteBp39biLWy+8ldD6oW6XViPk5eVp9Q8ROYfm\nVi1KMadVl+xcQsemHatNMALUDajL+AvGs/r21cy7Zh5bD2yl/cz2jPt4HCsSV+iWhvMoLhgXLFjA\n/fffz8qVK/U7FJEy895wLGJAzsJtC7myw5UuFlayXlG9eG3Ua+ycvJMLIy7klk9uoccrPXh1/atk\nZGW4XV6N0rVrV4KDg/n9739PmzZtmDJlCj/99JOCUkRKxTvDsYhrjtZaFu1YxOXtynfDf1VqUrcJ\nD/R5gK33bOWpy57is22f0fz55tz66a0si1+mP/Cl0Lp1a6ZNm8aWLVv45JNP8PPzyx/pKiJyPt55\nzfG662DMGDJHXUfDhk5HMm7/Fn739u+Ivy++Rt5gvjdjL+/8/A6vb3idEzknGN99PLd0v4VWjVq5\nXVqNYa3FWlvkqVhrbY3870JEiqZrjkU5dc0xLQ1CQ8EY53rjsHbDauwfwIgGETzY90H+98f/Me+a\neew7to+er/RkyJwhvLXxLY5lHXO7xGrPGFNkMB49epTo6GhuvfVWFixYoHUnRcSLwzEwkAMHoGlT\n562VySvp17yfu3V5gDGGHpE9mDl8JskPJPPHnn9k7qa5RD0XxQ0f3sCncZ9yMuek22XWKEFBQfz4\n4490796d559/noiICEaPHs3cuXPdLk1EXOKd4XjqmmN6OjRp4ry1Onk1l0Rf4m5dHlbbvzbXdL6G\nhTcuZPuk7QxqOYjnVj5H5HORTPh0Al/t/IqcvBy3y6wRWrZsyb333st3333Hzp07ufrqqzl06JDb\nZYmIS7zzmmP//vDUU3yY2p9334V/z0kj5sUY0qek42e8898DBSUdSWLepnm898t7JBxOYGznsVzX\n5Tr6Nu+rNSc94MsvvyQlJYXf/e53REZGul2OiBRB1xyLcuqaY3o6NG7s9Bp7RfXyiWAEiG4YzQN9\nHmDN7Wv44dYfaNagGfcsuoeo56K447M7WLR9kU69VoC/vz+LFi2ia9eudO7cmUmTJvHJJ59w9OhR\nt0sTEQ/xzp5jt27w9tvMWNSNAweg7uVTybW5PHnpk+4UWU38evBXPt7yMR/HfcymtE1c3u5yRncc\nzeUxl9MgsIHb5dU4eXl5bNiwga+//pqvv/6aJ554goEDB7pdlohQ8Z6jd4Zjx47wySdMeb0jjRvD\nqtajufE3NzK2S9FLIfmivRl7+TTuUz6O+5gfE39kUKtBjGw/kuExw4luGO12eV7l5ZdfpnPnzvTq\n1Ys6deq4XY6IT6hoOPp7sphqIysLAgNJT4e2bSFufxydQju5XVW1EtEggjt73smdPe/kUOYhvtj+\nBQu3L+Sxbx4jqmEUw9sNZ3jMcPo074O/n3f+Z1IVrLXs2LGD2bNns3nzZi666CIGDhzIwIEDGTp0\naI29tUjE23lnz7F5c/jxR665vzlXX5vNrdsbcmjKIVdW4qhpcvNyWZ28mi+2f8EXO75g18Fd/Lbt\nbxkeM5xh7YYRVj/s/AeRIh09epQVK1awbNkytm7dyvz5890uScRr6bRqUeEYEQEbN3LpDeGMuz+O\n6btHsn3SdncKrOFSjqaweMdivtj+BV//+jWtG7fmstaXcVmbyxjQcgD1Auq5XaJX+eWXX5gxYwZ9\n+vShd+/edO3alYCAALfLEqlxNFq1KFlZEBBAejocrBVHx6Yd3a6oxooMiuTWC2/lg2s/IO2hNGYN\nn0XD2g2Zvnw64X8PZ/Cbg3ly2ZOsTFqpeyo9IDw8nEGDBrF+/XpuueUWGjduzMCBA3nttdfcLk3E\np3hnzzEoCFJSaNEliOtn/Q1bO51nfvuMOwV6sYysDP4b/1++/vVrvt71NfGH4oltFUtsq1gGthxI\n9/Duuq+ygg4fPszq1asJCAggNjb2nM9TU1OpXbs2jRo1qvriRKoxnVYtKhxr14YjRwhqWpuRs8dz\nWcwgbr3wVncK9CH7ju3jm1+/4fv471kWv4yUoyn0bd6XAS0GMLDlQHpG9tR1Xw97/vnn+fOf/0xE\nRAQ9e/akR48e+Y9BQUFulyfiGoVjUeHo50fW8RzqB/nR86U+PD30aQa0HOBOgT4s7VgayxOWsyx+\nGX+27xgAABXbSURBVMsSlrF1/1Z6RfViYIuBDGg5gN7RvXV/pQfk5uYSFxfHunXrWLt2LevWreP+\n++/nmmuucbs0EdcoHAuHY24uBAaSmpJL167gPyWSVbetonlwc/eKFAAOZx7mx8Qf88Nyw94NxDSJ\noXd0b3pH96ZPdB9iQmJ8ZiYjN9xyyy0cPHiQ7t2752/t2rUrcrUSkZpM4Vg4HE+cgCZN2LL+BKOu\nPkn8jQ05/thxXfuqhk7mnGTD3g2sTFrJyuSVrExayeHMw1wSfQm9o3rTp3kfLo66mEZ1dD3NU3bt\n2sVPP/3Exo0b87e0tDTWr19P+/bt3S5PxGMUjoXD8cgRiI7mh0VHuOfPOzh05VB23bvLvQKlTPZm\n7GVV0ipWJq1kRdIK1u1ZR/OGzekV1YsezXrQo1kPLoi4gPqB9d0u1WscPnyY+vXr4+9/7mQPN910\nE1FRUXTp0oUuXbrQqVMn6tfX716qP4Vj4XA8cADat+fzNw/wl7e/od6wv7L090tdq08qJicvh1/2\n/cLalLWsS1nHuj3r2JS2iVaNWuWHZY9IJzB1/dKzrLV8+umnbNq0KX/btm0b0dHRxMXFUauWzsZI\n9aVwLByOe/bARRfx7rN7+Mey1+g0bBlvXPWGa/WJ52XnZrMpbVN+WK7bs45f9v1Cy+CW9IjswUUR\nF9E9ojvdw7sTUi/E7XK9Sk5ODomJibRu3fqcz9LT07nlllvo1KkTHTp0yN9CQ0M1TZ5UOc2tWlh2\nNgQEcOQI5DRIoEVwC7crEg8LqBXABREXcEHEBUxgAuAE5ua0zazbs471e9bzcdzH/Jz6M/UD69Mt\nvBvdw7vTLbwb3cK70SGkAwG1NOtMefj7+xcZjAB16tRhwoQJxMXFsXz5cmbPns3WrVuJiYlh1apV\nVVypSMV4X89xxw743e94+s6dvH3kdu6+qid39rzTvQLFNdZaEg4n8HPqz2xM3cjPqT/zc+rPJBxO\noEPTDk5YhnWje0R3uoR2IaJBhHo4HmatJSMjo8h7LpcvX864cePO6mW2b9+ejh07Eh2tlWGkYtRz\nLCw7GwIDOXIETgbspVlQM7crEpcYY2jZqCUtG7VkZIeR+e8fzz7Opn2b8kPzs22fsSltEzl5OXQO\n7Uznpp2dx1NbdMNohWY5GWOKnYygd+/eLFmyhK1bt7J161Y2bNjA/Pnz6dChA//+97/P2T8tLY20\ntDTatGmjpb+k0nlnOJ46rXoibA/NGigc5Wz1AurRK6oXvaJ6nfV+2rE0tuzfwua0zWxO28zC7QvZ\nnLaZjKwMOoV2Oic4WzZqqXsyK8Df35+YmBhiYmIYMWLEefdfs2YN999/P/Hx8YSGhtK2bVvatWvH\nyJEjGTVqVBVULL7E+8Lx1KTjR47A0bA9RDSIcLsiqSFC64cSWj+UgS0HnvX+wRMHzwrNb3Z9w+a0\nzew/vp92TdrRPqT9WVtMkxia1muq3qaHDR8+nOHDh5Obm0tSUhI7duxg586dxfYiFy5cyFdffUWr\nVq3O2jQPrZSG911zXLECHniA0c2W8/kFdTn2eAaBtQLdK1C81tGTR9mRvoNtB7Y5W/q2/OfAmcBs\nUiA4Q2J0y0kV2bhxI19//TW7d+/O33bt2sVjjz3GY489ds7+aWlpBAQEKDy9hK45FnbqtOr+E/up\nXytYwSiVJqh2EBc2u/D/b+9ug+O66juOf/+rh5WslVYPlmRZlhMUN8EhQDAdSIlpmZK2gc4E3hTI\ndNo0pTPQAZqm0CnhDYG8oDADbSgpKdPUQ6EFmnQoZgZCCEnaqYcUMwkYYidObGzryZL1vJJ2tU//\nvtjVZrV69Mr2am9+n5k7e/fu0dXR8Vo/nbPnnssbet6w7Li7M74wzsmJk7w4+SInJ07y8PGHOTlx\nkpcmX6KtsY197fvob+vnmrZr6G/rL2ydO3TZw6WytDxeMXcnnV791moPPvggn/vc56itrWXv3r30\n9fXR19fHHXfcwU033XQlqizbSPB6jo8/Dp/5DDfY50m844956aPHKlc5kRJZzzIwM8CpqVOcnjrN\nqclTnJ4+zemp3JbMJAtBWRyc17Rdw1WtV+mPvcvM3ZmamuLMmTMMDAwwMDDAwYMHufHGG1eU/fSn\nP82zzz5bCNGl7YYbbiAajVag9lJMiwCUhuP3vw9f/CJ9ibvY+94vcOSDj1WuciIXaToxXQjK0vAc\nnB1kV2QX/W39XN16NVdFr8ptrbnHvmifwvMKOnHiBM899xyDg4OFIB0YGOC+++7jlltuWVH+8OHD\nxGIxdu/eXdh0W7HLR8OqpfLDqnPxC3RHuipdG5GL0trQyoGeAxzoObDitXQ2zbmZc5yaPMXZmbOc\nnT7Lk2eeLOwPx4bpbOpkb3TviuBcemwO65fxpbJ//37279+/6fIDAwMcOXKE4eFhhoeHGRoaIhQK\n8eijj3LzzTevKH/8+HEaGxvp6enRpSsVELye4yOPwDe+QXj8rfzpR3/Fl2+7v3KVE7mC0tk0I7GR\nQlgue8zvh2vDy8JyT8seept72dOyJ7ff0ktDrX4RXwnuTiwWIxwOEw6vvAn4nXfeyZNPPsnIyAiR\nSKTQ23zggQfYt2/fivILCws0NjbqM+s89RxLpVJk6+pJ1o3T07Kz0rURuWJqQ7X0Rfvoi/ZxcO/B\nFa8vTRQ6N3OuEJZDsSGeGXmGodgQg7ODDMeGaQm3LAvMQnAWHVMPdOvMjJaWljVfP3ToEADZbJaJ\niYlCj7Ora/URsYMHD3LixAm6u7vZtWsXu3btoru7m/vuu2/Nr5G1VSwczexW4O+BEPCQu3+25PXr\ngEPAAeAT7v6FTZ04mSRNHXUtE+xseu0lrrVI9TKzwrWcb9z9xlXLZD3LhfkLDM4OFgJzcHaQJ371\nxLJjtaHa5T3O5l56mnvoifQUHndFdhGuXdkjkosTCoXo7Oyks7NzxezbYs888wzz8/OMjo5y/vz5\nwuNaQ7L79+8nlUoVQnTp8e6779ZnoVQoHM0sBHwJeDswDBw1s++4+/NFxSaAjwDvvqiTp1IkqaO2\neZydO9RzFLkYIQvRHemmO9LNG1k9QN2d6cT0igA9NnqMH5z6ASOxEUbmRhidG6U53LwsMJftFz3q\n2s9Lo6mpif7+fvr7+zcs+/TTTzM6OroiTNe6Fdn1119PXV1dIag7Ozvp6uriYx/7WCA/E61Uz/FN\nwIvufhbAzL4JvAsohKO7jwPjZrbxulLFUimSXo81TdDRqNsViVxqZkZbYxttjW28tnvt0ZmsZ5lY\nmGBkbqQQmCOxEU5PnebIwJFlx0IWWrXn2dXURXdTd+4xknvUZ6KXRjQaJRqNcu21126q/A9/+MPC\n+rZjY2OF/dVuku3uXH311USj0RVhes8996z6NdtNpWrYCwwUPR8kF5hbl0yymK2DHeo5ilRSyEKF\nYdzXdb9uzXLuzuzi7IoQHZsf4/nx5xmbH2N0fpSx+THG5scI14QLQbkUnKuFaFdTF20NbZqgcon0\n9vbS29u76fI//vGPV4TpxMTEqj3TVCpFe3s77e3t7Ny5k46ODjo6Oujs7OT+++9f8W+4dLeXSCRy\n2f59t398X6xUikWvJ1M/oRvdilQBMyPaECXaEOXVO1+9bll3Z2ZxhtG5l8NyKTh/OfZLxhbGlr22\nkFqgs6lzWYh2NXXRuaOTnTt2rtjaGtu0mPwlYGaF2bWbUVtby/DwMOPj40xMTBS22dnZVcNvfn6e\nnp6eQqguBeqePXv4+te/fkl+hkqF4xBQfBfiPfljZbn33nsL+28bGqI700GqblzDqiIBY2a0NrTS\n2tDKdTuv27B8Ip3gwvyFQoAuBedEfIIXJl5gfGGc8YVxLixcYHxhnNhijLbGtjXDs3Tr3NFJpP7y\n9V5eKZZubdbc3LzmzbSLRSIR5ubmSCQShSD90Y9+xNGjR5flwZbqVInrHM2sBniB3IScEeAnwO3u\nfmKVsp8E5tz982uca/l1jp/6FEd/GuctB/6B1KfmL0f1RSSgUpkUk/HJQmiu2OIrjyUzyRWh2dHY\nQXtj+5pbW0ObZvJeZlV5naO7Z8zsw8BjvHwpxwkz+0DuZf+KmXUDPwWagayZ3QVc7+5z6548lWI2\nnSFM22X+KUQkaOpq6gqzdTcrkU4wsTBR6H1emL/AZHySyfgkAzMD/Hz054Xnk/FJpuJTTMYnqa+p\nXzdA19oaa3Wh/5VQsc8c3f1R4LqSY/9UtD8K9F30iZNJ5jJpGk0L/4rI5ddQ20BvSy+9LZufrOLu\nzKfml4Vm8bZ0V5fVXst6dnkvtLEtN9Qcbi0MOa+1tYRbqAmtfqmGLBfICTlz2TQ7QgpHEdmezIxI\nfYRIfYS90b0bf0GReCrOVGJqWWDOJGaYTkwznZjm3Mw5jo0dKzwv3mKLMZrqm2htaKWtoW3DMF0t\nXF8pE5aCGY6eYUeNwlFEgqexrpHGukZ2N29uJmixrGeJLcaYSkytGp7TiWnOTJ9Z87W55ByR+git\nDa1EG6K0hFuIhnOPpfst4ZZCmdLXGmobtv3QcPDCMZlk3rM01ykcRUSKhSxUuGymHJlshlgyxlR8\nitnFWWYXZ5lZnHl5P5HbPz93ntnky89Ly2WymTVDtKV+7VAtLRuuCes6x03L9xyb61orXRMRkUCp\nCdUUhli3IplJFoKyOFRLg3Q4NrwsVIvLzizO4O40h5tprm+mJdyybH+rgheO6TTzJIk29FS6JiIi\nsor6mvrCZS9bkcwkiS3GmF2cJZaMLdt/mIe3dO7ghWMqRZwErWUOG4iISHWor6mnY0fHqquhvZf3\nbuncwZt2lE6zYAnadigcRUSkPMELx1SKeChOu8JRRETKFLxwTKeJ18TZGVE4iohIeYIXjqkUi7Vx\ndjYrHEVEpDzBC8d0mmTtAl1RhaOIiJQnkOG4WB+ns6W50jUREZEqFbhwzCZTpOsTtEcila6KiIhU\nqQCGY5pUOE6kXuEoIiLlCV44LqZI1y3SWNtY6aqIiEiVClw4ZpJJ0q6bgYqISPkCF47ZVBJnR6Wr\nISIiVSxw4ejJJFlvqnQ1RESkigUvHNMpMPUcRUSkfIELR1IpLKRwFBGR8gUuHC2Txmq0AICIiJQv\ncOEYSqcJ1egzRxERKV/gwtEyGerqtACAiIiUL3DhGMpmqKvTsKqIiJQvcOFYm8lQX69wFBGR8gUr\nHN2p8SwNYYWjiIiUL1jhmMmQMSPSoHAUEZHyBSsc02nSoRCRes1WFRGR8gUwHI3msMJRRETKF7xw\nNCPSoNtViYhI+QIXjpkQNIUVjiIiUr7AhWPaoKVR4SgiIuULVjhmMqRD0NyghcdFRKR8wQrHdJp0\nCKI71HMUEZHyBS4cUyGINikcRUSkfIELx3TI1XMUEZEtCWQ4tkYUjiIiUr7AhWMmlKVVw6oiIrIF\ngQrHbDJFukY9RxER2ZpAhePCwiLpENTX1la6KiIiUsUCFY5zsQXSFqgfSUREKiBQSRKfjyscRURk\nywKVJAvzC2SsptLVEBGRKheocEzE46RDgfqRRESkAgKVJIn5OFn1HEVEZIsCFY6LibiGVUVEZMsC\nFY6JxCKZkMJRRES2pmLhaGa3mtnzZnbSzP5mjTJfNLMXzexnZnbjRudMJuJkFY4iIrJFFQlHMwsB\nXwJ+D3gNcLuZvbqkzDuAa9z914APAA9udN7UYoKMaQGAzXjqqacqXYWqpHYrn9quPGq3yqhUz/FN\nwIvuftbdU8A3gXeVlHkX8K8A7v5/QNTMutc7aWpxEQ8pHDdD/+HKo3Yrn9quPGq3yqhUOPYCA0XP\nB/PH1isztEqZZdLJBNmauktSQREReeUK1IScTHIR9JmjiIhskbn7lf+mZjcB97r7rfnnHwfc3T9b\nVOZB4El3/1b++fPAb7n7aMm5rvwPICIi2567W7lfW6kP6I4C+8zsKmAEeB9we0mZw8CHgG/lw3S6\nNBhhaz+8iIjIaioSju6eMbMPA4+RG9p9yN1PmNkHci/7V9z9e2b2TjN7CZgH7qxEXUVE5JWnIsOq\nIiIi21lVT8jZzEICAma2x8yeMLPnzOwXZvYX+eNtZvaYmb1gZj8ws2il67odmVnIzJ4xs8P552q3\nDZhZ1MweNrMT+ffdm9VuGzOzu83sl2Z2zMz+zczq1W4rmdlDZjZqZseKjq3ZTmZ2T35BmRNm9rub\n+R5VG46bWUhACtLAX7n7a4DfAD6Ub6uPA4+7+3XAE8A9FazjdnYXcLzoudptY/cD33P3/cDrgedR\nu63LzHYDHwEOuPvryH3sdTtqt9UcIve7v9iq7WRm1wPvAfYD7wD+0cw2nKtSteHI5hYSEMDdz7v7\nz/L7c8AJYA+59vpqvthXgXdXpobbl5ntAd4J/HPRYbXbOsysBXirux8CcPe0u8+gdtuMGqDJzGqB\nRnLXd6vdSrj7/wJTJYfXaqfbgG/m34dngBfJ5ce6qjkcN7OQgJQws6uBG4Gnge6lGcDufh7oqlzN\ntq2/A/4aKP5wXu22vlcB42Z2KD8c/RUz24HabV3uPgx8HjhHLhRn3P1x1G6b1bVGO130gjJQ3eEo\nF8nMIsAjwF35HmTpbCzNzipiZr8PjOZ73esNw6jdlqsFDgAPuPsBcrPNP47eb+sys1ZyvZ+rgN3k\nepB/iNqtXFtqp2oOxyFgb9HzPfljsor8MM0jwNfc/Tv5w6NL69Wa2S5grFL126ZuBm4zs9PAN4Df\nNrOvAefVbusaBAbc/af55/9JLiz1flvfLcBpd5909wzwbeAtqN02a612GgL6isptKiuqORwLCwmY\nWT25hQQOV7hO29m/AMfd/f6iY4eBP8nv3wF8p/SLXsnc/RPuvtfd+8m9v55w9z8CvovabU35oa0B\nM7s2f+jtwHPo/baRc8BNZtaQnzDydnITwdRuqzOWj+is1U6HgfflZ/6+CtgH/GTDk1fzdY5mdiu5\nWXFLCwn8bYWrtC2Z2c3A/wC/IDfU4MAnyL1B/oPcX1Vngfe4+3Sl6rmdmdlvAR9199vMrB2127rM\n7PXkJjHVAafJLeJRg9ptXWb2SXJ/iKWAZ4E/A5pRuy1jZv8OvA3oAEaBTwL/BTzMKu1kZvcA7yfX\nrne5+2Mbfo9qDkcREZHLoZqHVUVERC4LhaOIiEgJhaOIiEgJhaOIiEgJhaOIiEgJhaOIiEgJhaOI\niEgJhaOIiEgJhaNIABTdzPX9ZvaXZvZlM2uodL1EqlVtpSsgIpfEUaDV3R8CMLNvA79Dbh1YEblI\n6jmKBMObgacAzKwLaAeOVLJCItVMPUeRYPh14LiZ/Tm5W7nd6u7xCtdJpGopHEWCod3dvw1gZv8N\nLFa4PiJVTcOqIlXOzPYC54sO7QXCFaqOSCAoHEWq35uBnwPkb/zd4+7x/GePIlIGhaNIFTOz3wQ+\nCFxnZp3ungS+a2Z/ACgcRcqkmx2LiIiUUM9RRESkhMJRRESkhMJRRESkhMJRRESkhMJRRESkhMJR\nRESkhMJRRESkhMJRRESkxP8DM95YIyJmyngAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f457d374b38>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, ax = plt.subplots(figsize=(7, 7))\n",
    "\n",
    "ax.plot((r_f_vector / r_i).value, (dv_a_vector / v_i).value, label=\"First impulse\")\n",
    "ax.plot((r_f_vector / r_i).value, (dv_b_vector / v_i).value, label=\"Second impulse\")\n",
    "ax.plot((r_f_vector / r_i).value, ((dv_a_vector + dv_b_vector) / v_i).value, label=\"Total cost\")\n",
    "\n",
    "ax.plot((r_f_vector / r_i).value, np.full(N, np.sqrt(2) - 1), 'k--')\n",
    "ax.plot((r_f_vector / r_i).value, (1 / np.sqrt(r_f_vector / r_i)).value, 'k--')\n",
    "\n",
    "ax.set_ylim(0, 0.7)\n",
    "ax.set_xlabel(\"$R$\")\n",
    "ax.set_ylabel(\"$\\Delta v_a / v_i$\")\n",
    "\n",
    "leg = ax.legend()\n",
    "leg.get_frame().set_facecolor('#fafafa')"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.0"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
